package com.hz.eduService.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import lombok.Data;

/**
 * 学生选课表
 * @TableName user_courses
 */
@TableName(value ="user_courses")
@Data
public class UserCourse implements Serializable {
    /**
     * 主键，自增
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 课程 ID，外键关联 `courses` 表主键 id
     */
    @TableField(value = "course_id")
    private Integer courseId;

    /**
     * 课程名称
     */
    @TableField(value = "course_name")
    private String courseName;

    /**
     * 课程编号，唯一性
     */
    @TableField(value = "course_code")
    private String courseCode;

    /**
     * 学生 ID，外键关联 `users` 表主键 id
     */
    @TableField(value = "student_user_id")
    private Integer studentUserId;

    /**
     * 教师 ID，外键关联 `users` 表主键 id
     */
    @TableField(value = "teacher_user_id")
    private Integer teacherUserId;

    /**
     * 学生真实姓名
     */
    @TableField(value = "student_real_name")
    private String studentRealName;

    /**
     * 学生得分
     */
    @TableField(value = "user_score")
    private Integer userScore;

    /**
     * 教师真实姓名
     */
    @TableField(value = "teacher_real_name")
    private String teacherRealName;

    /**
     * 是否取消选课 （0：否；1：是，默认 0）
     */
    @TableField(value = "cancel_course")
    @TableLogic
    private Integer cancelCourse;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}